// 课程标签类型
export interface ClassLabelType {
  /**
   * DictionaryVO
   */
  /**
   * 主动创建时间
   */
  createTime?: string
  /**
   * 主键id
   */
  id: string
  /**
   * 存储值，例如：1、2、3...
   */
  k?: number
  /**
   * 父id，例如：二级联动
   */
  pid?: number
  /**
   * 备注
   */
  remark?: string
  /**
   * 排序值
   */
  sort?: number
  /**
   * 字典类型，例如：个性标签、服务类型...
   */
  type?: string
  /**
   * 被动更新时间
   */
  updateTime?: string
  /**
   * 显示值，例如：创建中、完成...
   */
  v: string
  status: boolean
}

// 课程查询
export interface ClassList {
  /**
   * 分类
   */
  categories: CourseLabelInfoVO[]
  /**
   * 创建时间
   */
  createTime?: null | string
  /**
   * 课程描述
   */
  description?: null | string
  /**
   * 是否收藏
   */
  favorite: boolean
  /**
   * 课程id
   */
  id: number
  /**
   * 级别
   */
  levels: CourseLabelInfoVO[]
  /**
   * 课程名称
   */
  name: string
  /**
   * 课程预览图地址
   */
  previewUrl: string
  /**
   * 更新时间
   */
  updateTime?: null | string
}

/**
 * CourseLabelInfoVO级别和分类
 */
export interface CourseLabelInfoVO {
  /**
   * 课程id
   */
  courseId?: number | null
  /**
   * 主键id
   */
  id: number
  /**
   * 分类id
   */
  labelId?: number | null
  /**
   * 分类名称
   */
  labelName?: null | string
  /**
   * 1:分类，2：级别
   */
  labelType?: number | null
}
// 用户列表请求
export interface UserClassList {
  /**
   * 分类
   */
  categoryId?: string
  /**
   * 排序字段 多个,隔开  1,2,3
   */
  columns?: string
  /**
   * 级别
   */
  levelId?: string
  /**
   * 页面条数
   */
  limit: number
  /**
   * 课程名称
   */
  name?: string
  /**
   * 页码
   */
  offset: number
  /**
   * 排序方式 多个,隔开  1,2,3
   */
  order?: string
}
/**
 * CourseVO
 */
export interface ClassDetailsType {
  /**
   * 附件文件
   */
  attachments?: FilesStatusType[]
  /**
   * 分类
   */
  categories?: CourseLabelInfoVO[]
  /**
   * 创建时间
   */
  createTime?: null | string
  /**
   * 课程描述
   */
  description?: null | string
  /**
   * 文档路径集合地址
   */
  docUrls?: FilesStatusType[]
  /**
   * 是否收藏
   */
  favorite?: boolean | null
  /**
   * 课程id
   */
  id?: string
  /**
   * 级别
   */
  levels?: CourseLabelInfoVO[]
  /**
   * 课程名称
   */
  name?: string
  /**
   * 课程预览图地址
   */
  previewUrl?: string
  /**
   * 更新时间
   */
  updateTime?: null | string
  /**
   * 视频路径集合地址
   */
  videoUrls?: FilesStatusType[]
}

/**
 * CourseFileVO
 */

/**
 * CourseFileVO   视频文档附件
 */
export interface FilesType {
  /**
   * 课程id
   */
  courseId: number | null
  /**
   * 文件名称
   */
  fileName?: null | string
  fileSize?: number | null
  /**
   * 课程文件id
   */
  id: number
  sort?: number | null
  /**
   * 1为视频：2为文档
   */
  type?: number | null
  /**
   * 文件地址
   */
  url: string
}
export interface FilesStatusType {
  /**
   * 课程id
   */
  courseId?: number | null
  /**
   * 文件名称
   */
  fileName: string
  fileSize?: number | null
  /**
   * 课程文件id
   */
  id: number
  sort?: number | null
  /**
   * 1为视频：2为文档
   */
  type?: number | null
  /**
   * 文件地址
   */
  url: string
  status: boolean
  size: number
  videoDuration: string
}

/**
 * CourseLabelInfoVO
 */
export interface CourseLabelInfoVO {
  /**
   * 课程id
   */
  courseId?: number | null
  /**
   * 主键id
   */
  id: number
  /**
   * 分类id
   */
  labelId?: number | null
  /**
   * 分类名称
   */
  labelName?: null | string
  /**
   * 1:分类，2：级别
   */
  labelType?: number | null
}

/**
 * FavoriteVO
 */
export interface CollectType {
  /**
   * 收藏时间
   */
  createTime?: null | string
  /**
   * 1:课程，2：项目案例，3：数据集，4：模型
   */
  favoriteType?: number | null
  /**
   * id
   */
  id: number
  /**
   * 收藏对象id
   */
  objectId?: number | null
  /**
   * 收藏对象名称
   */
  objectName?: null | string
  /**
   * 用户id
   */
  userId?: number | null
}
